﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;

namespace ToolUltity
{
    public class ExcelService
    {

        /// <summary>
        /// 导出数据到excel
        /// </summary>
        /// <param name="ds"></param>
        public static void AddExcel(DataTable dt)
        {
           // DataTable dt = ds.Tables[0];

            string fileName = Guid.NewGuid() + ".xls";

            Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();//Excel.ApplicationClass()

            int rowIndex = 1;
            int colIndex = 0;

            excel.Application.Workbooks.Add(true);

            foreach (DataColumn col in dt.Columns)
            {
                colIndex++;
                excel.Cells[1, colIndex] = col.ColumnName;
            }

            foreach (DataRow row in dt.Rows)
            {
                rowIndex++;
                colIndex = 0;
                for (colIndex = 0; colIndex < dt.Columns.Count; colIndex++)
                {
                    excel.Cells[rowIndex, colIndex + 1] = row[colIndex].ToString();
                }
            }

            excel.Visible = false;
            //excel.ActiveWorkbook.SaveAs(fileName, Microsoft.Office.Interop.Excel.XlFileFormat.xlExcel9795, null, null, false, false, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange, null, null, null, null, null);
            excel.Save(fileName);

            excel.Quit();
            excel = null;

            GC.Collect();//垃圾回收 
        }
    }
}
